perm filename MAXTEX.MMD[UP,DOC]3 blob
sn#562600 filedate 1981-02-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00014 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 * TEX Macros
C00015 00003 Instructions to use the Macros Templates Examples
C00019 00004 KERMAC: The basic set of macros
C00039 00005 KERMAC-- \espanol: Macros para espanol, \francais: Macros pour francais.
C00043 00006 KERMAC-- Nofill mode: Macros for non-justified text (programs, graphics, etc)
C00048 00007 LETMAC: Macros for letters
C00053 00008 MATMAC: Macros for Mathematics
C00057 00009 PAPMAC: Macros for papers, reports, thesis, etc.
C00070 00010 Other sets: TEXMAC, TMRMAC
C00073 00011 Page Design
C00084 00012 Counters, Boxes, Files, Counter variables
C00088 00013 Index of control sequences
C00106 00014 NEWS:
C00120 ENDMK
C⊗;
* TEX Macros
The macros are partitioned in several files (sets), for different
applications. This has the prurpose of avoiding the input of unnecesary
junk (at the cost of messing up your terminal's screen when running TEX).
Individual files have brief comments before each macro (see NEWS
page). This file has somewhat more technical description of contents,
applications, restrictions, and functioning of each set (and subset). In
some cases, hints are given for rewritting or improving some of the more
complicated macros (page styles, for instance). Few TEX standard macros
have been re- defined, so what the TEX manual describes will also work
with our macros. Exceptions are:
\hsize, \vsize should not be used; there are macros \sethsize{<dimen>},
and \setvsize for that effect. Former two will not work.
\lg, \Pr deleted
& is alignment tab and ← is subscript escape in non-SAIL machines
Char "" (VT='13) is considered a space (\chcode=10)
Char "|" should be used carefully in Table of Contents, Plates and
in the Index.
Some of the macros were borrowed from (or inspired on) the following
sources:
basic.tex[1,3]
macros.tex[tex,ark]
errata.txt[tex,dek]
macros.tex[tex,jp]
or from the TEX manual (TEX & METAFONT, 1979).
Comments, suggestions and additions are welcome (mmd % sail) or Max
Diaz @384D (Math. Dept.). Bug reports are not welcome, but will be given
due attention. Send message to MMD for mail list.
Organization of this File
For each set, there is a general description of its usage and of the
restrictions for its use (for instance, you should not \input PAPMAC
before KERMAC). You will probably want to start by reading the section on
KERMAC, the kernel, together with a listing of it.
At the end we give several indexes of variables and control sequences.
You should not redefine any of these in your manuscript without reading
the instructions provided; there is no internal checking of errors, so you
may get weird TEX error messages.
The combination \input kermac \input matmac gives the same results as
(and contains) basic.tex (which you should NOT input).
Running TEX
The TEX version to use is MAXTEX[1,3], which is a preloaded version
(has information on the fonts used) and hence runs faster than TEX. MAXTEX
is, of course, pronounced "majtex".
%∞pagebrk
Instructions to use the Macros; Templates; Examples
.r maxtex
*\input kermac
{Then input (or borrow from) one or more secondary sets of macros:
PAPMAC for papers, reports (headings, chapters, etc)
MATMAC for math
LETMAC for letters (inputs kermac automatically)
TMRMAC for Times Roman fonts
{Read last page of files to check initializations made; these may be
re-defined at this point. This files are all in are [tex,sys].
{Your text.
*\end
Here is a template for a SPECIAL appplication (see also the more
elaborate example in \tableofcontents below). This example is for a
report (or paper) kind of document, where no chapters are used (only
sections and subsections). See also \secsubsecstyle.
%%% macros:
\input kermac
\input papmac
% Set parameters to taste (may also be omitted):
\let \tit=\dunhill
\parskip .1in % space between paragraphs
\parindent 0pt % no indentation on crown lines
% Initializations
\def\projname{Project ``PEAS''} % text on left of running heads
\date{August 15} % text on center (page number on right).
\projheading % initialize
%%% the first page:
\titlepage
\ctrcol{\ninepoint\cr\halskip{.75in}
{\Tit\projname
\footnote*{Research supported by ``Save the Ants''}}\cr\halskip{1.5in}
by\cr
R. Schockley and H. Kcizinger}
\vfill
\ctrcol{\ninepoint
Parapsychology Department\cr\halskip{5pt}
Occult Sciences University\cr\halskip{3pt}
\todate}
\eject
%%% text begins:
\arabicnumbering{1}
\topspace .5in
\sectionbegin{An Erratic Visitor's Impression of an Ant Colony}
%∞pagebrk
KERMAC: The basic set of macros
*Description*
This is the kernel. Contains the font declarations & \chcode
assignations. Except for a few cases (noted), all other sets depend on
this one; at least for the section HACKS. The subsets are:
1. CODES, FONTS, etc.
It is becoming a rather standard practice to use "&" for alignment tab
and "_" (underline) for subscript escape on non-SAIL machines.
These are taken from the manual, appendix E.
2. ESPANOL, ENGLISH
See next page, please.
3. GLUE, BOXES, etc.
Mostly taken from basic.tex, except for \ljustline and \xxskip. Note
\qquad could be defined as \hskip 2em in horizontal mode (see errata.txt).
Macro \displaypar has as argument the paragraph to be displayed. You
may use \hangindent inside it: \displaypar{\hangindent 20pt <paragraph>}
(see also below). Glue after \displaypar is \displayparskip, which has
default value equal to \parskip. Note \displaypar uses \hbox par,
described in errata.txt.
Paragraph indentation macros are used as \noindent: preceeding the
paragraph in question. Paragraphs are not indented, but this may be
changed by redefining \indentcrownskip to be the desired <dimen>
indentation.
The other macros, \enumerate, \enumelett and \itemize are also used
preceeding the paragraph in question. For the first two, the parameter is
the number (letter) at which to start; this will be roman (lower case)
numeral if you say \enumerate{-2}. Note that, to change the format of
hanged numbers, you need only redefine \enumrnfmt, \enumrlfmt and
\itemzfmt respectively. For instance, if parenthesis are desired in
\enumerate, do
\def\enumrnfmt{({\bf\count7})\ }
Macros will take care of the rest.
Finally, note you get nice effects by combining the above; e.g.
\displaypar{\enumelett{A} This paragraph will be displayed and identified
by a hanged ``A.''}
\displaypar{\enumrind For the next paragraph you type \enumrind, as usual.}
and similarly for \itemize.
For fairy tales and bibles, you may want to use \capitalpar3{O}{\caps
nce upon a time \rm there was...}. Try it, you'll like it.
4. UNDERLINING, etc.
All rather obvious.
5. HACKS
For hackers to unhack. Several of these macros are used in other sets
without comment.
6. PAGE NUMBERING, TITLEPAGES, PAGE FORMAT
In the fashion this set gets initialized, you'll see a page format
similar to that in basic.tex. There are, however, some parameters you may
combine to obtain a different effect.
First, pages have either \romannumbering or \arabicnumbering; these
appear at the bottom of pages in italic 10pt font. Next, pages are meant
to be used on \oneside or on \bothsides (for printing).
Page dimensions are set by \sethsize, \setvsize (see initializations).
[ In the dover, horizontal dimensions appear inflated by a factor of 1.02;
that is, 2%]
To set margins, use \setmargin{x}{y}{z}{w}, where all these are true
dimensions. (1) When \oneside, left margin will be = x on every page (and
y is ignored). (2) When \bothsides, left margin will be = x on ODD
numbered pages, and = y on EVEN pages. Given x,h (i.e., \sethsize{h} or
\columnsperpage{n}{c}{g}{h}), to get the left margin in even pages equal
to the right margin on odd pages, let y = <sheet width> - h - x. Top
margins will be z on \titlepages and w on \normalpages.
[In the dover, top margin cannot be less than .3125, or wraparound will
occur]
You may have multi-column format by use of \columnsperpage. This may
save you some headaches in simple alignments...and give you some others
with the hyphenation routines. Note \sethsize uses this to define a
one-column page. Some possible values are:
\columnsperpage{2}{3truein}{.25truein}{6.25truein}
\columnsperpage{3}{2truein}{.125truein}{6.25truein}
\columnsperpage{4}{1.5truein}{.08333truein}{6.25truein}
\columnsperpage{7}{.85714truein}{.04166truein}{6.25truein}
\columnsperpage{9}{.66666truein}{.03125truein}{6.25truein}
etc. As mentioned at the beginning of this file, \hsize is not to be
used; use \sethsize or \columnsperpage. You cannot switch from 25 to 37
columns in the middle of a page. Also note \endpage means "end column",
so to end all columns in current sheet, type \endsheet.
Macro \fullpages resets numbering, and allows use of the whole
declared \setvsize{9truein} page.
The \magnify option will expand everything photographically, EXCEPT
the page dimensions. Currently, only the magnification value 1100 (10%)
works moderately well, due to lack of fonts in the DOVER printer. The
success of \magnify depends on the variety of fonts ypur document uses
(e.g., with \fullpages\tenpoint\rm you have 1100, 1300, 1500, 1700, 2000,
3000; but if you use \caps somewhere, forget it).
7. INITIALIZATIONS
Any of these may be modified anytime after the set is input; for
instance, \input kermac \bothsides.
*Restrictions*
This file is meant to be input before any of the others.
*Notes*
More details about the \output routine (& satellites) are given in the
section "Page design". The routine needed for the basic output could be
much simpler; this somewhat messy arrangement nevertheless simplifies
later routines (see also PAPMAC).
There are several important "global variables" in this set. \ddvnum
(T or F) is set by \bothsides, and is used in the output routines.
Variable \tpage is set by \normalpage and reset by \titlepage; see PAPMAC
(useless in this set).
%∞pagebrk
KERMAC-- \espanol: Macros para espanol, \francais: Macros pour francais.
*Description*
Allows accents with a single character("), which works for any letter
and font (e.g. as"i and not as\'\i). The e\~ne (egne) is written simply
~: for instance espa~nol. Both things are possible by use of the new
chcode←13. (It is not recomended to use ' for accents in this way, since
this character is used for octal codes ('43) and right quotes '').
EXCEPTION: words accented in the last letter must have \<sp> at the end
(if you don't want it to be eaten by TEX): as"i\ ya se jodi"o\ la cosa
(REWARD offered to (s)he who points out a way to put accents with a single
character, without exception).
This set also translates words used by all the other sets of macros.
Hyphenation penalty is increased to 100. Hyphenation works often for
spanish words.
*Notes*
See commands \espanol, \english in KERMAC.
********************************************************************************
\francais: Macros pour fran{\ced}ais
*Description*
Allows accents with a single character(",`,~), which works for any
letter and font (e.g. ha\+ir and not ha\+\i r, bat~iment, etc.). Compare
\espanol. Here, "=aigu, `=grave, ~=circumflex, \+=trema, \ccd={c cedille},
\CCD={C cedille}. The \<quotes\>\ are typeset this way.
Accent aigu: t"el"evision, mang"e\ , "elevation.
Accent grave: premi`ere, tr`es:
Accent circumflex: m~eme, d~u\ , etc.
Trema: No\+el, Ha\+ir:
Cedille: Gar{\ccd}on, ou GAR{\CCD}ON:
<A quote>. To get chars <,>, use \char'74, \char'76 (resp.)
Use: {\char'134 } for standard quotes
{\char'42 } resp.
EXCEPTION: words accented in the last letter must have \<sp> at the
end (if you don't want it to be eaten by TEX): J'ai pas trouv"e\ comment
eviter {\ccd}a; (REWARD offered to (s)he who points out a way to put
accents with a single character, without exception).
This set also translates words used by all the other sets of macros.
Hyphenation penalty is increased to 100, but check how TEX hyphenates;
it may break words incorrectly.
%∞pagebrk
KERMAC-- Nofill mode: Macros for non-justified text (programs, graphics, etc)
[Inasmuch as grfx35 is not in the DOVER, do not expect \grfx to work there...
I'm seeking an alternative solution...]
*Description*
This macros take several lines of text, and outputs them without
justification. This is useful for typesetting programs or graphics (using
one of the fonts grfx). The basic macro is \nojust; it is used as follows:
{\nojust
Hello many spaces $x↑2$
line 2 | a box |
line 3 |------------|
\par} % this \par is essential!
which will then output those lines verbatim in the current font. Note
result is a paragraph. (as such, you may want \nojust\noindent to avoid
crown-indent). That is, \nojust simply respects spaces and
carriage-returns. Note first line counts (to ignore it: \nojust%). Even
better, type \par} at the end of the last line of your \nojust.
For figures and such things, you'll need a fixed-width font; probably
either \ttwr or \grafix. These two appear in the control sequences
\typewrite and \grfxnof, which take those lines and also produce a
paragraph. In that case, since \parindent is probably undesired, you
should type:
{\typnoi
<non-justified lines>
\par}
or, for graphics, \grfx (which includes \noindent). A \par before the } is
needed, as shown. Null lines generate a blank line.
You may also use box such paragraph and then indent it or place it
somewhere; e. g., to make a box 4 inches wide & save it (optional \save0):
{\grfx\save0\gbox{4in}{
⊂αααααααααααα⊃
line 2 ~ a box ~
line 3 %αααααααααααα$
}}
Or to center: \ctrline{\grfx\gbox{5in}{......}}. Warning: the
dimension (here 4in or whatever) has to be specified; there is no "natural
size" setting. (To be added in the future)
As for the characters inside \nofill (do not confound with \nojust!),
you may type anything except \, {, } (which are defined as \\, \{, \}),
which will be interpreted as TEX control sequences. ALL other characters
are disabled during \nofill and will therefore be typeset, except that
TAB's will report you a funny error message.
*Restrictions*
You may use this set anytime after \input of KERMAC. Most macros here
are easily transportable, however.
*Notes*
The setting \baselineskip -1pt is to force the interline glue (manual,
p. 58) to be \lineskip = 0.
The \nofill macro becomes really simple by means of the new \chcode=13
(see errata.txt). Note we chose to use a local {\nofill <lines>} instead
of delimiting with two control sequences (\beginnofill <lines>
\endnofill); this lets TEX do the job of reconstructing whatever was
messed up within nofill mode.
%∞pagebrk
LETMAC: Macros for letters
The usage of this set is rather simple; all you need to do is create a
file looking like this:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input letmac
% Define addresses:
\def\saddr{Mathematics Department\cr Stanford, California 94305}
% Optional addendum to \stanford letterhead; example:
% \def\whoswho{\caps Donald E. Knuth\cr\rm Fletcher Jones Professor\cr
% Phone (415)497-4367}
% or simply \def\whoswho{\skip Ph.(123)456-7890}
\def\whoswho{}
\def\paddr{1211 Ramona Street\cr
Palo Alto California, 94301\cr
U. S. A.}
% A further letterhead is done in this way:
\def\iimas{\gdef\jaddr{UNAM\cr Apartado 20-726\cr M\'exico 20, D.F.}
\def\jname{\sname\cr IIMAS}
\gdef\whoswho{Tel. 548-33-60} % (note usage)
\gdef\jlogo{{\bigggfnt IIMAS}\hskip 10pt}
\job}
% For return-address label:
\def\sname{Maximiliano D\'\i az}
\def\pname{{\sanss Max }}
% Initializations to taste
\sethsize{6truein}
\parindent 20pt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Then, a typical letter should look like this:
\input lett % Input previous file
% Choose language (see \espanol,\francais)
\date{December 1\th{st}} % Letter date
\stanford % Choose style of letter; see also \personal
\to{......} % Or \idto
the letter...
\sign{\sname}
\fin % C'est tout.
(other letters may follow: repeat from \stanford to \fin)
\bye
For exammple, the destinatary is set:
\to{Prof. D. Knuth\cr
Computer Science Dept.\cr
Stanford University}
or: \to{Dear zzz:}.
Macro \idto is similar to \to, but remembers name, to put on footings
of subsequent pages. For example:
\idto{Prof. D. Knuth}{Computer Science Dept.\cr Stanford University}
The other macros should be self-explanatory.
Note file described above define the addresses and other information
used in the letterheads. You may also use the optional \whoswho, to be
set in \stanford style; it is supposed to be like this (in the above
example it is null):
\def\whoswho{\caps Donald E. Knuth\cr\rm Fletcher Jones Professor\cr
Phone (415)497-4367}
or to put your telephone number: \def\whoswho{\skip Ph.(123)456-7890}. See
also the additional style \iimas (which is used as \stanford or \personal,
and defines new addresses, \whoswho and all).
You may use LETMAC in conjuction with any of the other sets, EXCEPT
for PAPMAC.
%∞pagebrk
MATMAC: Macros for Mathematics
*Description*
Contains a set of primitives to typeset math:
1. OP, PARENTHESIS
Taken from basic.tex. Most of these are explained in the manual.
2.ALIGNMENT, CHOP
All of these control sequences are illustrated in the TEX manual.
3.THEOREMs, EQNOs
Theorem numbers are kept in \varstmt; the number assigned to a \stmt
is then \varstmt if \count8=0 (no chapter declared), and \count8.\varstmt
otherwise (see \consnum). That is, if \count8 = 0, \stmt's are 1,2,3,...;
and if \count8 = n ≠ 0, numbers are n.1, n.2,... (n may be in roman
capitals if n < 0).
The TEX manual has another definition \thbegin which may be useful if
numbers are not desired. It is not included here, though.
For equation numbers, assuming \bothsides, \lreqno numbers right on
odd pages, and left on even pages. It coincides with \eqno when \oneside.
Note new \leqno is used (see errata.txt).
*Restrictions*
Aside from \lreqno (which uses \ddvnum), and \stmt, you may easily use
this set independent of any others. Note KERMAC+MATMAC works as, but
contains, basic.tex.
*Notes*
Counters \count8, \varstmt, \vareqno are modified only by
\chapterbegin in PAPMAC. Global \ddvnum is assigned by \oneside,
\bothsides in KERMAC.
%∞pagebrk
2Bε∧jε
i∧kπ∂K␈→β≠?∩βCπC/∪M1β⊗+C?K'→1βSF+O'Mbβ↔S
ph(4(hP4(4PH$%↓α↓↓↓↓T#↔O∂⊗KCS'}q(4(hQ↓↓↓¬##'Mπ≠↔Qβ&+O'∨v+⊃↓β6{Iβ7␈∪∃βO'∪W∂S/∪↔⊃↓π#↔cQr↓α∂?w#π';~β≠π∂Nc'S'/→↓βSxh+∪↔≡cπK∃αβ∂#ππ#↔KMb↓βO↔∨#'?;~a↓β↔&→9↓↓¬##'Mαβ';≠␈∪7πSN{9↓βO→↓βSF+9↓βF;∪3. 4+π/#?7π&K∂π3gIβ'9π##∃↓π#π3*β?→↓ε≠?;S.sSMβ∞s⊃↓βNqβS#*↓βKWvs';≥εC↔π∪~↓↓#πg≠<4+≡33↔"β#↔π&K;∨MZβ←∃β≡31↓⊗C↔π∪fK;∃ π##∃β&+cQβ∞s;?Wv≠';≥π##∃β⊗+∨';Ns≥β?2↓β∧4V≠#πC&+I1β≡+∂S'}q1β↔&→%9↓¬##K↔*β∪↔ON;;M↓ε{→βC∞;↔Mβ∂∪∃↓βπ∪?['&+⊃9↓¬##↔K*↓β'LhSπ3Ozβ¬β.s∂!β}1βWSNc'S'/→β≠?∩β≠??&s?S↔~aβ'⊗c'?∨⊗C#ebβ≠'∨/∪↔M1ε+S
8hP4)Erα∞"ε¬"⊗JMbαN⊗∞$J>:MbαNV
≤*∞R&|rM1α-"
84Ph)↓↓ααπ31αβS#↔≡)↓βπ⊗)↓βW≡+⊃↓β&y↓β∪.≠3πK*↓β¬↓ε≠#πC&+I1↓π≠↔∂SN{91↓ε+S
9α↓↓αSF(4+∂␈∪K↔Oε{;∪'v9βK?/#';∃π;'31ε;↔;↔⊗S∃β∞qβπCπ∪?C'∂#∃β#.∪3'v)1βπ~β←↔3bβπMβ&C∀4+↔+;;'v97#↔∞#Mβ≠␈⊃βS#*βCπ∨/→84(hQ↓↓↓∧sW7/∪Mβπ⊗)↓βπ∨≠'∨;.!↓βπ/#?7π&K∂π3gIi↓↓ε≠#πC&+KMβ⊗+O↔QαβS#∃αβ∂?Ww!↓β?0h+O↔∨#'?;~↓#O=bβ≠'K∨!βO↔∨#'?9εK9β∂FCS↔∩↓Mβ←Nc1β*↓M9EJaβπ;"β?→↓π≠WO.≠S'?w_4)#6KKOQπ≠WO.≠S'?rβ'9β≡+∂S'}q↓M9*β←'3bβ∃↓~qU9EJq↓αONk'3π⊗ceβ←O#!↓β&C↔?K.kL4+∞s⊃↓β6{?S;␈#↔Mmαβπ31αβS#↔≡)↓βK/≠SπK"↓βπQα↓E84Ph)↓↓ααS#↔⊗)βπK*βS←=π3πK'∂#'?;~β?→↓π≠↔∂SN{;Mβ∞s⊃β∂FCS↔↔→1βπv!↓βO.⊃7O↔∨#'?;≠P4+SF)↓ππβ↔;∪N≠↔M r↓αS#/≠∃↓β&yβ;?"↓β#π6)βπ9αβπOON;;↔⊃εsW7/⊃1↓β↔+Qβ7∂I↓β#∂3∀4+≡+∂S'}sM↓#w+5i↓β 1I1rq9%↓ε;⊃↓π≠WO.≠S'?w→↓#;.ii↓↓β⊃9E1β⊃9E1αβ↔S
Jq↓↓αv{S∀4UcπCC≡CπCS/∪↔∨NqβK↔≡+SMαf≠?W;#AβS=ε∪∃↓AαCO↔∃ε∪↔3?:I84(hQ↓↓↓∧QβπwIβ∨'6+9↓βε{';QbβS#∃αβ∨3?⊗1β[∂∪'πf+M↓αf≠#πCw+51αg≠↔∂SN{;;Wj↓βπ; h*sO.∪O↔∂&K?;;.iβ/↔/↓βS#*β∂#ππ#↔I1π≠↔∂SN{9βπv!βOW↔≠↔∂SN{9β;.k↔Iph(4)α↓↓α¬εk';?∩β∪'O∂≠S↔Iπ;'31αβ?∂∂/⊃β'→πK?U↓π#gC∃¬c∂#ππ#↔K.;';n
β[↔↔/∪e↓βf{;≤4itle...}: you'll get overfull boxes in every heading. There are macros
\chapterbeginb, \sectionbeginb, etc. to declare a long title and an
abreviation, which shall be used everywhere except in the headline. If
this arrangement dissatisfies you, try calling \chapterdeclare instead;
this has 3 parameters, and these need not use the same title.
There are two styles of headlines: \ctrheadline and \ddvnheadline;
these are accesed by \chapterbegin et al. via the ghost macro \headline
(see initialization section.
Current headlines are not very suitable for long titles; to split in
several lines, try things like \headline{First line\cr second line}.
Since \chapterbegin uses \headline, you may want to type
\chapterbeginb{First line\cr second line}{Another title}
as an alternative to the abreviation problem. On the other hand, a
chapter with a very long title could perhaps use some rewritting...
To enable skip to next odd-numbered page, do:
\def\chapskippage{\endpage\ddvnmsel{\hmode\endpage}{}}
(mind: use \endsheet in the case of multi-column format).
To initialize the chapter counter, set \setcount8 <n> positive
integer. If you don't want chapters (say for a paper), set \count8 to be
zero (default value): \setcount8 0. In this way, \stmt, \sectionbegin,
\lreqno will OMIT the chapter number (unless you use \chapterbegin). You
may in that case use sections or subsections to get "paragraphs" 1, 2, 3,
... Finally, setting \count8 to be negative will use roman numerals
(sections will then be i.1, i.2, and so on); cf. \chapnumcase.
For a better presentation, try style \secsubsecstyle, which
redefines heading handling to have section numbers on even-numbered pages
and subsection names on odd-numbered pages. You may still select between
one of the styles \oddevennumbering, \bottomnumbering, or \topboxes;
select any of these, then \secsubsecstyle. These format was used by Art
Samuel for his "Short Waits" (SAIL tech. memo).
Some further details are discussed in section Page Design.
2. FOOTNOTES, etc.
Footnotes are also numbered automatically or identified by some
character: \nfootnote{note} and \footnote*{note}, respectively. In
general, it seems standard to type <...referred-to text><punctuation
mark>\nfootnote{bla, bla}. If the footnote follows a period, there will
be some space left after it, before the fn. number; if you don't like it,
try putting the period after the \footnote{...}. Or, to leave little
space, try the control sequence \. instead of the period.
... and bla bla\.\nfootnote{note}
or, finally, to put foootnote number on TOP of punctuation mark:
... and bla bla\spose{,}\nfootnote{note}
For the \comment macro, you may find it useful to define your own:
\def\cmax{\comment{\max}}
to save some typing. Remember \max must be defined: either
\def\max{max}, or \def\max{}. The comments will be printed only in the
first case (and identified by the value of \max).
For bibliographic references, the format is \ref{7}Schmeller, J. \it
Carmina Burana\rm Stuttgart, 1847.\par; this sets "[7] Schmeller...",
nicely indented. To put a second indented paragraph, use \refind in the
same way as done in \enumerind.
3. TABLE OF CONTENTS
To generate the table of contents, type \tableofcontents at the end of
your MS. The parameter is the roman number at which numbering will start.
Table will be constructed using titles given in \chapterbegin,
\appchapterbegin, \sectionbegin, \subsectionbegin, \appsectionbegin, and
\{chap,sec}listnotes (title=\Notes). If you must add an entry to the
table, use \constofc; however, notice you may want to use \appchapterbegin
or \appsectionbegin instead (these besides set a headline and handle the
headings).
The final organization of a MS is as follows:
*\input kermac
*\input papmac
*\input matmac % (for instance)
*\romannumbering{2} % start at page ii (page i = front page)
*\oneside % optional -- if following 4 (say) pages
% will be printed on one side only
{First pages of text: abstract, preface, acknowledgements,
dedication, etc. --- not to be included in t. of c. Use
\titlepage for EACH of these, to remove headings.
*\arabicnumbering{1}
*\topboxes % or any page style (but select one!)
{The text: chapters, sections, etc.
*\tableofcontents{6} % do t. of c.; number page vi, vii, etc.
*\end
Note setting \tableofcontents{-6} will number with arabic numerals.
To change headline announcing the T. of C., merely redefine \headline;
e.g.,
\def\headline#1{\ctrline{\bf Table of Contents}\vskip 25pt}
4. PAGE STYLES
In addition to the page parameters described in KERMAC:
\romannumbering, \arabicnumbering, \oneside or \bothsides, there are here
also \titlepage's and \normalpage's. The former do not have running
heads, but the latter,in the appropiate style, will have information at
the top on the most recent chapter and section declared in the page.
Now, in addition to style \noheading, already defined in KERMAC, with
these set you may choose between \bottomnumbering, \oddevennumbering and
\topboxes. The last two are meant (and initialized) for \bothsides
(they'll look ugly with \oneside, but no chaos will occur); the two others
work well with either option.
In all four styles, \titlepage's do not have a heading. In styles
\topboxes and \oddevennumbering, a \titlepage is NOT numbered unless in
\romannumbering. In the two other styles, all pages are always numbered at
bottom.
For more details, see section "Page Design".
5. INITIALIZATIONS
Take a look at them. Note the use of \inivar to set the counter
variables \varfn, etc.; you may do this at any point in your MS. Also,
keep in mind the useful \count8 = 0 described above.
%∞pagebrk
Other sets: TEXMAC, TMRMAC
TEXMAC (To list text files (full ascii-sail set):
.r maxtex
\input kermac
\input papmac
\input texmac
{\texlist
∞∞listfile/file/
∞∞listfile/another file/
or put definitions here
∞∞endtexlist}
\tableofcontents{2} (optional)
TABS should not appear, but if they do, will be interpreted as 8
blanks
First character in file must not be a space or TAB. Char ∞ is used as
escape character, hence whatever follows it will be interpreted as a
control sequence. To type "∞", insert ∞∞. For examples, see how macro
files are formatted.
% Begin non-TEX mode
% To list a file ∞∞listfile/ <name> /
% End non-TEX mode; type %∞∞endtexlist
% Commentaries: %∞∞comm/ anything / in the text
% To jump to new page, insert %∞∞pagebrk in the text
% Insert Sections and Subsections in the form %∞∞ssec/SOME NAME/
********************************************************************************
TMRMAC: Macros for Times roman fonts.
These set is the equivalent of TBASIC.TEX[TEX,SYS]. Input it any time
after KERMAC. It will redefine \tenpoint using T. R. fonts. There is no
inverse; the only (dirty) way to return to CMR fonts is inputting KERMAC
again.
Only "ten" point size is implemented at the moment. You may notice
this set is loaded somewhat slowly; fonts ere not yet preloaded (but
will).
%∞pagebrk
Page Design
Things have been arranged in such a way that it is easy to reshape the
pages produced by the output routines. Most skips, dimensions and fonts
are handled by means of macros (all these marked "par" or "fnt" in the
index), which may be altered by redefining the latter.
1. DIMENSIONS, MARGINS.
\sethsize
\setvsize
\columnsperpage
\computevsize
\setmargin
\hsheetsize
\hpagesize
\epagesize
\hdngsize
Page (the area where you can put ink) dimensions are given by
\hsheetsize and \epagesize. These are set by \columnsperpage and by
\computevsize (resp). Both former may take take any value permitted by
the printing device. Thus, TEX's parameters are \hsize = \hpagesize, and
\vsize = \epagesize - \hdngsize.
Vertical margins are fixed: .9375truein at the top and something at
the bottom (depends on device!). Margins are set by
\setmargin, as described in the KERMAC section.
None of these dimensions are afected by \magnify, but \hdngsize (the
portion of sheets reserved for headings and/or numbers) is adjusted
automatically.
Remember full pages are accesible with \fullpages.
2. PAGE SETUP.
\pastup
\frameit
\nrmpage
\titpage
\cbotnum
\numonlyrmn
\btmnrspace
\shftthepage
As being shipped by TEX, pages are kept in \box5 (which should be
NEVER touched) until enough \colsperpg are constructed (i.e., \count5=0);
then, headings are inserted and the whole thing set in a box, \frameit;
This is then "pasted" in the appropiate place of sheets to obtain desired
margins. Macro \frameit takes a list of boxes and \vbox'es them to
\epagesize. In that big box are included headings (if any), the \page
(your text) and, perhaps, numbers at the bottom (see \cbotnum,
\numonlyrmn). That list may of course be a \titpage (when \titlepage) or
\nrmpage (\normalpage).
For instance, page style \noheading defines \nrmpage as {\page
\cbotnum}, where \cbotnum is a \vbox of height \btmnrspace (currently
.375in) containing the page number, be it roman or arabic. There are no
\titlepage's in this style, so \titpage = \nrmpage.
Other styles fill \nrmpage and \titpage in different ways (headings at
the top, e.g.), and then adjust \vsize to make those two fit in \frameit.
We shall see an example below.
3. RUNNING HEADS.
(Nedds revision!!!!]
\chapterdeclare
\sectiondeclare (et. al)
\titlemark
\rhevenpg
\rhoddpg
\titlemarknln
\onelinh
\onelinheading
\ddvnmsel
\onelinefmt
Routines \chapterbegin, \appchapterbegin, \sectionbegin,
\appsectionbegin, and \tableofcontents shall invoke a ghost macro
\titlename{\rhevenpg}{\rhoddpg} which sets up appropiate headings in the
form \mark{ <heading> }. The invocation shall be with \rhevenpg =
chapter, \rhoddpg = section; and the first will not be modified except by
\chapterdeclare; the second only by \sectiondeclare. Cf. \secsubsecstyle.
You may in this way easily put other running heads. Say, with \count8
= 0 (no chapters), you may put \def\rhevenpg{ The Paper's Name }. In any
style other than \noheading, non \titlepage's will have headings with the
declared section titles and The Paper's Name (unless or until
\chapterdeclare). You may also try \fixedheadings{Author name}{Paper
name}.
As another instance, suppose you want a heading consisting of one line
(as in \oddevennumbering style), meant for \oneside, having some \projname
on the left, a centered \todate and the page number to the right; then:
\def\projheading{\onelineheading\oneside\let\nlnhdng=\prjhdng}
\def\prjhdng#1#2{\hdrfnt\projname\hfill\todate\hfill\topnum\count0}
As a final instance, suppose you want an overcrowded heading
consisting of two lines; the first like in \oddevennumbering, the second
having \autname on the left, \draft in the center, and \todate on the right,
ending whith an \hrule. Then
\def\crowdedhdng{\topboxes % figure out same space for headings
\let \titlemark=\titlemarkcrwd}
\def\titlemarkcrwd#1#2{{\rhtypeface\mark{\vbox{
\hbox to size{\ddvnhdng{#1}{#2}}
\vskip 2pt
\hbox to size{\hdrfnt\qquad\autname\hfill\draft\hfill
\todate\qquad}
\vskip 3pt
\hrule height .2pt}}} }
then say \date{January 30},
\crowdedhdng to set. Note use of \ddvnhdng#1#2; this macro is
the one that selects the headings in \oddevennumbering, depending on the
parity of page (cf also \ddvnmsel: this one also checks whether
\bothsides).
In some other cases, the modification shall be simpler; for instance,
if you don't like the heading font (small caps) and/or the ruler below
them, you need only redefine \hdrfnt and/or \onelinh. If headings in caps
are desired, here's an easy way to do it:
\let \temp=\titlemark
\def\titlemark#1#2{\temp{\uppercase{#1}}{\uppercase{#2}}}
4. HEADLINES
\headline
\ddvnjust
\chapterdeclare
\sectiondeclare
\subsectiondeclare
The code producing suitable headings is imbedded in the invocations to
the last three macros in this list. Thus, for instance, if a \bullet
preceeding subsecnum is desired, do:
\def\subsectionbegin#1{\¬
\subsectiondeclare{\hangindent\indssect\tenpoint\bf$\bullet$\subsecnum\
\rm #1
}{\subsecnum. #1}}
Similarly for chapters and sections; formats are rather easily
altered. For example to remove the \section sign in section headlines:
\def\sectionbeginb#1#2{\addq1{\varsec}
\sectiondeclare{\hangindent\indsect
\tit\sectionnum.\ \ #1\¬
}{\sectionnum.\ #2
}{\sectionnum\ #2} }
5. OTHER PAGE PARAMETERS
Care was taken to use (most) fonts and dimensions via control
sequences, to make it easy to change things, without rewritting too much.
For instance, to change the font used for running heads, one simply
sets \def\hdrfnt{\it} (8-pt italic), and so on. Similarly, to change the
space left after chapter headlines, \def\chapbotskip{<dimen>}.
Most such parameters are defined nearby the macro that invokes them.
%∞pagebrk
Counters, Boxes, Files, Counter variables
You should not touch these, unless you know what you're doing.
In future uses, we will start taking these in decreasing order; so, if
you need a box, start using #0, #1, etc...
Counters set
0 current page number KERMAC
6 current page number plus 10100 (for \send) KERMAC
7 used by \enumerate, \enumelett KERMAC
8 current chapter number PAPMAC
9 for temporal computations KERMAC
Boxes
4 \output. DO NOT TOUCH. KERMAC
5 \output. DO NOT TOUCH. KERMAC
6 \output. DO NOT TOUCH. KERMAC
7 \fin LETMAC
8 \hangpar (\enumerate, \itemize, \ref, \capitalpar) KERMAC
9 \displaypar, \capitalpar KERMAC
Files
6 \generateindex (title = indx.tem) PAPMAC
7 \anotate (title = ntes.tem) PAPMAC
8 \tableofplates (title = tofp.tem) PAPMAC
9 \tableofcontents (title = tofc.tem) PAPMAC
Global variables:
\chapnum chap. # PAPMAC
\sectionnum section # PAPMAC
\subsecnum sub- # PAPMAC
\subsubsecnum sub-sub- # PAPMAC
\rhevenpg running head for even pgs PAPMAC
\rhoddpg ...for odd... PAPMAC
\colsperpg \columnsperpage KERMAC
\intercolglue \columnsperpage KERMAC
\hsheetsize \columnsperpage KERMAC
\hpagesize \columnsperpage KERMAC
\epagesize \computevsize KERMAC
\hdngsize \computevsize KERMAC
Counter variables:
\vareqno equation # MATMAC
\varfig figure # PAPMAC
\varfn footnote # PAPMAC
\varsec sec # PAPMAC
\varssec subsec # PAPMAC
\varsssec subsubsec # PAPMAC
\varstmt statement # MATMAC
\vartab table # PAPMAC
\varpag endsheet counter KERMAC
\varcoln column counter KERMAC
Boolean variables:
\tpage T or F (\titlepage PAPMAC
\ddvnum T or F (\oddevennumbering KERMAC
\ismemo T or F (\smemo LETMAC
\junkie temporal variable KERMAC
%∞pagebrk
Index of control sequences
Some of the macros are, in turn, defined by other macros. For
instance, if you define \sy and later on use \tenpoint, YOUR definition of
\sy will be lost (and you'll probably start getting strange TEX messages).
The opposite can well happen, with equally disastrous results. If in
doubt, consult this index: it tells you in which set things get
(re)defined. The best solution is probably to change the name of your
control sequence. (To make an index of control sequences \def-ined in one
or more files, the E macros listed in the appendix are useful).
Those macros marked with the word "loc" are just defined and used
locally within some macro. Those macros wich are usually more involved to
redefine and(or) use appear indented. Those, on the other hand, marked
"par" or "fnt" are parameters and may usually be changed without problem.
Macros marked "one" are one-character control sequences; they are used
Mazatl"an, not Mazatl\"an (see \espmac).
We do not list here the control sequences which are handled as
variables (see previous section). If a macro appears listed more than
once, it means its definition may change within those sets (perhaps via
\let: see errata.txt).
usable internal
macros macros set
\¬ KERMAC
\"#1 KERMAC one
\"#1 KERMAC one
\~#1 KERMAC one
\~ KERMAC one
\`#1 KERMAC one
\+ KERMAC
\< KERMAC one
\> KERMAC one
\# KERMAC
\$ KERMAC
\@ KERMAC
\% KERMAC
\& KERMAC
\. PAPMAC
\CCD KERMAC
\CR KERMAC loc one
\Chapter KERMAC
\Contents KERMAC
\Corollary KERMAC
\Figure KERMAC
\From KERMAC
\Index KERMAC
\Lemma KERMAC
\Memo KERMAC
\Notes KERMAC
\Page KERMAC
\Pf MATMAC
\Plates KERMAC
\Proof KERMAC
\Proposition KERMAC
\QED MATMAC
\Remark KERMAC
\SP KERMAC loc one
\TAB KERMAC loc one
\See KERMAC
\Table KERMAC
\Theorem KERMAC
\To KERMAC
\Tit PAPMAC fnt
\\ KERMAC loc
\\ KERMAC
\addq#1#2 KERMAC
\addtotofc#1#2#3 PAPMAC
\addtotofp#1#2 PAPMAC
\adjchaphd PAPMAC par
\adjsechd PAPMAC par
\advnce#1 KERMAC
\anotate#1 PAPMAC
\appchapterbegin#1 PAPMAC
\appchapterbeginb#1#2 PAPMAC
\apply#1#2 KERMAC
\appsectionbegin#1 PAPMAC
\appsectionbeginb#1#2 PAPMAC
\appsubsectionbegin#1#2 PAPMAC
\appsubsectionbeginb#1#2 PAPMAC
\appsubsubsectionbegin#1#2 PAPMAC
\appsubsubsectionbeginb#1#2 PAPMAC
\arabicnumbering#1 KERMAC
\autname PAPMAC par
\bf KERMAC fnt
\bf TMRMAC fnt
\bi TMRMAC fnt
\biggglp KERMAC
\bigggrp KERMAC
\bigglp KERMAC
\biggrp KERMAC
\biglp KERMAC
\bigrp KERMAC
\bigggfnt KERMAC fnt
\biggfnt KERMAC fnt
\biggfnt TMRMAC fnt
\bigfnt KERMAC fnt
\bigfnt TMRMAC fnt
\botfnt KERMAC fnt
\bothsides KERMAC
\Botinsert#1 KERMAC
\bottomnumbering PAPMAC
\numbox PAPMAC
\boxit#1 KERMAC
\boxitsep KERMAC par
\bracedef#1#2#3#4 MATMAC
\bracex KERMAC
\brickset#1#2 KERMAC
\btm#1 KERMAC
\btmnrspace KERMAC par
\btmstrip LETMAC
\bye KERMAC
\capitalpar#1#2#3 KERMAC
\capitalfmt KERMAC par
\caps KERMAC fnt
\cbotnum KERMAC
\cc#1 LETMAC
\ccd KERMAC
\cdots KERMAC
\cdotss KERMAC
\chapmidskip PAPMAC par
\chapfmt PAPMAC
\chaplistnotes PAPMAC
\chapnumcase#1 PAPMAC
\chapquotep#1 PAPMAC
\chapquotepsize PAPMAC par
\chapquotev#1 PAPMAC
\chapter#1 PAPMAC
\chapterbegin#1 PAPMAC
\chapterbeginb#1#2 PAPMAC
\chapterdeclare#1#2#3 PAPMAC
\charfn#1 MATMAC
\choose MATMAC
\chop to#1pt#2 MATMAC
\close#1 PAPMAC
\columnsperpage#1#2#3#4 KERMAC
\comment#1#2 PAPMAC
\computevsize#1#2 PAPMAC
\consnum#1 PAPMAC
\constofc#1#2 PAPMAC
\constofp#1 PAPMAC
\cor MATMAC
\cos MATMAC
\cot MATMAC
\crowdedhdng PAPMAC
\cpile#1 MATMAC
\csc MATMAC
\ctr#1 KERMAC
\ctrchapfmt PAPMAC
\ctrcol#1 KERMAC
\ctrline#1 KERMAC
\ctrnumheading PAPMAC
\ctrnumfmt#1 PAPMAC par
\ctrnumskp PAPMAC par
\ctrpars KERMAC
\ctrheadline#1 PAPMAC
\date#1 KERMAC
\datefmt#1 KERMAC
\ddvnchapfmt PAPMAC
\ddvnheadline#1 PAPMAC
\ddvnjust#1 PAPMAC
\ddvnmsel#1#2 KERMAC
\det MATMAC
\diam MATMAC
\displaypar#1 KERMAC
\displayypar#1 KERMAC
\dist MATMAC
\dnbrace KERMAC
\draft PAPMAC par
\dunhill KERMAC fnt
\dverse#1 KERMAC
\eightpoint KERMAC
\ejectsheet KERMAC
\emptyset MATMAC
\endpage KERMAC
\endctrpars KERMAC
\endsheet KERMAC
\english KERMAC
\enumelett#1 KERMAC
\enumerate#1 KERMAC
\enumrlfmt KERMAC
\enumrnext KERMAC
\enumrnfmt KERMAC
\enumrind KERMAC
\epagesize KERMAC par
\eqalign#1 MATMAC
\eqalignno#1 MATMAC
\eqv MATMAC
\espanol KERMAC
\exp MATMAC
\fakeoutput#1 KERMAC
\figtab#1#2#3#4#5 PAPMAC
\figure#1#2 PAPMAC
\figuref#1#2 PAPMAC
\fin LETMAC
\fixedheadings#1#2 PAPMAC
\footnote#1#2 PAPMAC
\footntsize PAPMAC par
\frameit#1 KERMAC par
\francais KERMAC
\ftatop#1#2#3 PAPMAC
\ftatoppar#1#2#3 PAPMAC
\ftctr#1#2#3 PAPMAC
\ftfmt#1#2#3 PAPMAC
\fullpages KERMAC
\fullpagetrace KERMAC
\gbox KERMAC
\gcd MATMAC
\gfx KERMAC fnt
\grafix KERMAC fnt
\grfx KERMAC
\halskip#1 KERMAC
\hangpar#1 KERMAC
\hangparind KERMAC par
\hangnxtpar KERMAC
\hdid LETMAC par
\hdlbotskip PAPMAC par
\hdltopskip PAPMAC par
\hdrfnt PAPMAC fnt
\headline#1 PAPMAC par
\hmode KERMAC
\hquad KERMAC
\hyph KERMAC
\hdid LETMAC
\idto#1#2 LETMAC
\ifnum#1=#2#3\else#4 KERMAC
\ifnull#1#2\else#3 KERMAC
\ifzero#1#2\else#3 KERMAC
\indentcrownskip KERMAC par
\indentin KERMAC
\indenthin KERMAC
\indentqin KERMAC
\indentparbysize#1#2 KERMAC
\inf MATMAC
\inivar#1#2 KERMAC
\intercolsep KERMAC par
\it KERMAC fnt
\it TMRMAC fnt
\itemize KERMAC
\itemzind KERMAC
\itemzfmt KERMAC
\iterate#1#2 KERMAC
\jjpar KERMAC
\jnkeng LETMAC
\jnkspa LETMAC
\job LETMAC
\jpar KERMAC
\langrestore KERMAC
\langcoderestore KERMAC
\lbrk KERMAC
\ldots KERMAC
\ldotsm KERMAC
\ldotss KERMAC
\leadtc PAPMAC par
\leftset MATMAC
\lem MATMAC
\lft#1 KERMAC
\lim MATMAC
\liminf MATMAC
\limsup MATMAC
\lftcol#1 KERMAC
\ljustline#1 KERMAC
\ln MATMAC
\lnpar#1 PAPMAC
\lntypeface PAPMAC fnt
\log MATMAC
\loose KERMAC
\lpile#1 MATMAC
\macrotrace KERMAC
\magnify#1 KERMAC
\mattwo#1#2#3#4 MATMAC
\mathfnt KERMAC fnt
\max MATMAC
\mid#1 KERMAC
\Midinsert#1 KERMAC
\min MATMAC
\mod#1 MATMAC
\modop MATMAC
\multirowfmt KERMAC
\neg#1 KERMAC
\neq MATMAC
\neqno MATMAC
\neqv MATMAC
\nfootnote#1 PAPMAC
\ninepoint KERMAC
\nleqno MATMAC
\nofbreak KERMAC
\nofill KERMAC
\nojust KERMAC
\noheading KERMAC
\normalpage PAPMAC
\normaltrace KERMAC
\nrmpage KERMAC
\nrmpage PAPMAC
\nrmpage LETMAC
\null KERMAC
\numonlyrmn PAPMAC
\oddevennumbering PAPMAC
\onelinefmt#1#2 PAPMAC par
\onelineheading PAPMAC
\onelinh#1 PAPMAC
\oneside KERMAC
\openntes PAPMAC
\opentofc PAPMAC
\opentofp PAPMAC
\overtext#1 KERMAC
\osc MATMAC
\pagetrace KERMAC
\paraskip KERMAC
\pastup KERMAC
\personal LETMAC
\pname PAPMAC par
\posthdrskip PAPMAC
\pretzelit#1 KERMAC
\proofbegin MATMAC
\prop MATMAC
\psubset MATMAC
\psupset MATMAC
\qquad KERMAC
\ragged KERMAC
\ref#1 PAPMAC
\reffmt#1 PAPMAC
\refind PAPMAC
\refsize PAPMAC par
\regurgitate#1 KERMAC
\rem MATMAC
\rhswap PAPMAC
\rhtypeface PAPMAC fnt
\rightset MATMAC
\rtcol#1 KERMAC
\rjustline#1 KERMAC
\rm KERMAC fnt
\rm TMRMAC fnt
\romannumbering#1 KERMAC
\rpile#1 MATMAC
\rraggedd KERMAC
\rt#1 KERMAC
\sanss KERMAC fnt
\sec MATMAC
\sectionbegin#1 PAPMAC
\sectionbeginb#1#2 PAPMAC
\sectiondeclare#1#2#3 PAPMAC
\seclistnotes PAPMAC
\secsubsecstyle PAPMAC
\sectionskip PAPMAC
\setfootnote#1#2#3 PAPMAC
\setmargin#1#2#3#4 KERMAC
\sethsize#1 KERMAC
\setq#1#2 KERMAC
\setvsize#1 KERMAC
\shftthepage#1#2 KERMAC
\sign#1 LETMAC
\formalstyle#1#2#3 LETMAC
\sin MATMAC
\singlerowfmt KERMAC
\sl KERMAC fnt
\sname PAPMAC par
\smemo#1 LETMAC
\spose#1 KERMAC
\sqip LETMAC
\ssqip LETMAC
\stanford LETMAC
\stanlogo MATMAC fnt
\stmt#1 MATMAC
\stmtfnt MATMAC fnt
\subsectionbegin#1 PAPMAC
\subsectionbeginb#1 PAPMAC
\subsectiondeclare#1#2 PAPMAC
\subsubsectionbegin#1 PAPMAC
\subsubsectionbeginb#1 PAPMAC
\subsubsectiondeclare#1#2 PAPMAC
\sup MATMAC
\sy KERMAC fnt
\table#1#2 PAPMAC
\tablef#1#2 PAPMAC
\tableofcontents#1 PAPMAC
\tableofplates#1 PAPMAC
\tan MATMAC
\tenfib KERMAC fnt
\teniu KERMAC fnt
\tenpoint KERMAC
\tenpoint TMRMAC
\tensc KERMAC fnt
\th#1 KERMAC
\thm MATMAC
\tit PAPMAC fnt
\titlemark KERMAC
\titlemark PAPMAC
\titlemarknln#1#2 PAPMAC
\titlepage PAPMAC
\titpage KERMAC
\titpage PAPMAC
\titpage LETMAC
\tofcbox#1#2#3 PAPMAC
\tofcline#1#2#3 PAPMAC
\tofcpreamble PAPMAC
\tofctypeface PAPMAC fnt
\to#1 LETMAC
\todate KERMAC
\tofpline#1#2 PAPMAC
\top#1 KERMAC
\topboxes PAPMAC
\Topinsert#1 KERMAC
\topnum PAPMAC fnt
\topspace KERMAC
\trace KERMAC
\trule PAPMAC
\tt KERMAC fnt
\ttwr KERMAC fnt
\twoline#1#2#3 MATMAC
\typewrite KERMAC
\typnoi KERMAC
\uchyph KERMAC
\undertext#1 KERMAC
\upbrace KERMAC
\verse#1 KERMAC
\vdots KERMAC
\whoswho LETMAC
\xquote#1 KERMAC
\xskip KERMAC
\xxskip KERMAC
\yskip KERMAC
\yyskip KERMAC
\\ KERMAC
\\ KERMAC loc
\{ KERMAC loc
\} KERMAC loc
%∞pagebrk
NEWS:
A list of current problems and things to implement(fonts, e.g.) is in file
MACROS.LOG[TEX,MMD] which also contains a list of font changes. -- 13 jan.
As described below, some sets have disappeared. Furthermore, I reformatted
them in one single page, with the result that they are now unreadable. How-
ever, you may get a very neat copy by \input'ing macdoc.tex[tex,mmd].
But dont try this until you've checked whether macdoc.pre[tex,mmd] is present;
in that case, just print it. -- 1 feb.
[87] Fixed multi-row format. I'll do some samples and describe it with detail;
for the moment it remains part of the most esoteric features in the macros.
Output routines have reached a very satisfactory state and will probably
remain the way they are for some time -- 8 feb.
[86] Macros \skip,\sskip renamed \sqip, \ssqip. Reason being that TEX contains a
control sequence \skip. New \chapter{<no>} -- 7 feb.
[85] New page format \ctrnumheading, similar to \bottomnumbering, but with top,
centered numerals.
Deleted \projheading, \projname. To get such a thing do: \ctrnumheading
\fixedheadings{\projname}{\todate}, and will come out nicer. -- 6 feb.
[84] Macros now give you the opportunity to "think metric". When specifying dimen-
sions, you now have to say \setvsize{9truein}. If you don't, you'll get a msg
! Illegal unit of measure (pt inserted)...
So, you may now say \setvsize{5truecm}. PLEASE NOTE all these must be "true"
dimensions, lest your output will run amuck if you \magnify it.
Change applies to \setvsize (\computevsize), \sethsize (\columnsperpage),
\setmargin. Last one was also changed; it now has two additional parameters
that specify the top margins (at last!). It has a different name:
\setmargin, instead of \sethmargin. Sorry for the inconvenience.
Also used \var'iables instead of \count'er 5 (so this is free now)
[83] Fixed (well...) that other ugly bug of files .tem being created. Still, files
JKxxxx.tem will appear.
[82] Deleted initialization macros \user(ten,nine,eight)point. To create double
spacing, e.g., use \spacing{2}.
[83] New Multi-row format...macros: \singlerowfmt, \multicolfmt, \Topinsert,
\Botinsert. -- 2 feb. (not fully debugged 4 feb)
[81] New set TEXMAC -- 1 feb.
[80] WARNING: boxes 4,6 are henceforth reserved for internal use. -- 2 feb
[79] That ugly bug of empty pages being produced all the time has finally been
fixed. Now \endsheet works beautifully. Disappeared \byeee (use \bye). Also,
initialization page in the various files look neat and clear.-- 2 feb.
[78] New \ctrpars,\endpars (cf. \displaypar), \pretzelit, \rraggedd,
\boxitsep (par), \adjchapd (par).
[79] New: \frameit, \formalstyle -- 1 feb.
[77] Clean up in \titlemark-type routines. Deleted a lot of unnecessary macros,
making them local.
[76] \titlepage now removes bottom numbers in \noheading style. Spacing improved
in macros like \displaypar (cf. \paraskip) --1 feb.
[75] New: \paraskip, \capitalfmt, \intercolsep -- 1 feb.
[74] Surgery on sets of macros. Ellipses, \bi(gg,ggg)(l,r)p moved to KERMAC.
CODMAC disappears; now included in KERMAC, and so are ESPMAC and FRAMAC.
MACMAC now included in PAPMAC. -- 28 jan.
[73] New \chapquotep, \chapquotepsize, \chapquotev for quotes in chapters -- 27 jan.
[72] New macros \nojust, \lbrk; and parameters \To, \From, \hangparind -- 27 jan.
[71] New macros \smemo, \cc in letmac. -- 26 jan.
[70] New sets FRAMAC, TMRMAC described above -- 24 jan.
[69] Changes in \ifnull syntax -- 24 jan.
[68] New macros \langrestore (internal use), \mathfnt, \datefmt -- 23 jan
[67] VT is considered a space from now on, -- 23 jan
[66] Changes in \nofill: baseline corrected for better spacing in \typewrite -- 23
[65] Temp. files changed to *.tem, to facilitate its removal -- 24 jan.
[64] Deleted maxtex.old[1,3]. Use XGPTEX if needed.-- 24 jan.
[63] Disappears \dispparskip (useless); skip is now identical to \parskip -- 18 jan
[62] Footnote bars will now work. Some cleanups: delete \bnfootnote (use\nfootnote),
\bfootnote (use \footnote), \footnotebar (see \botsep in PAP), \footntskip
(resp. \botskip) -- 17 jan.
[61] Deleted \parunskip; not needed: use \unskip -- 17 jan
[60] New macros \verse, \dverse, \hangpar, \hangnxtpar -- 17 jan
[59] Font \ms (ms25) deleted. \grfx will bee added soon -- 17 jan
[58] Deleted \hshft, and replaced it by a far better macro: \sethmargin -- 15 jan
[57] Units "vu" now mean "in", but it is best to replace occurrences of these
by "truein" (not afected by magnification) or "in" (expanded appropiately)
-- 14 jan.
[56] New macro \setvsize (instead of \vsize), which adjusts printing area in any
style -- 13 jan.
[55] Many of the less useful macros in PAPMAC moved to new set MACMAC -- 12 jan.
[54] New macro \magnify; cf. basic & errata.txt. Units "vu" now mean "in" (compare
"truein") -- 12 jan.
[53] A new level of sectioning: sub-sub-sections; see PAPMAC -- 12 jan.
[52] New macro \endsheet for multi-column format. -- 10 jan. 81
[51] All uses of \: inside macro packages deleted. Fonts all accesed via c.s's.
defined in kermac/2p -- 10 jan 81.
[50] Re: new basic.tex. \trmacro, \trglue, \trnorm disappear. New \macrotrace,
\pagetrace, \fullpagetrace, \normaltrace and \topspace. Kill: \hjust, \vjust
-- 10 jan 81.
[49] Multi-hacks for Multi-column format. New macros \sethsize,\columnsperpage.
Also improved \displaypar, \displayypar (no \displayparsize anymore).
Watch out; no \hsize (use \sethsize), and beware of using \count5, \box5. --
3 dec.
[48] New inmproved LETMAC. See description in this file. -- 2 dec.
[47] New macro \fixedheadings. -- 30 nov.
[46] Fixed no-fill macros to allow boxing. See \gbox. See also remark about null
lines in CODMAC page -- 30 nov.
[45] New heading style \secsubsecstyle: no chapters, headings adjusted for sections
and subsections. -- 28 nov.
[44] New macros \appsubsectionbegin, \appsubsectionbeginb, \subsectionbeginb,
similar to the corresponding ones for chapters, sections. -- 28 nov.
[43] For italic text use \it is fine (formerly \ti) -- 25 nov.
[42] \neqno, \nleqno always set eq. nos. in \rm -- 22 oct.
[38] New macros \mattwo, \emptyset, \diam, \dist, \osc, \psubset,
\psupset, \charfn, \QED, for math. -- 29 sep.
[33] Roman numerals may be used for chapter numbers. Case may be
chosen (\chapnumcase) -- 5 sep.
[32] Many new macros for figures and tables, including an optional "table of
plates" (tables & fig) similar to t. of c. Format of caption may be chosen
among three provided. -- 5 sep.
[28] \listnotes becomes now \chaplistnotes and \seclistnotes and box is not erased
begining each chapter; only when listed. Debugged -- 3 sep.
[27] New headline style; see \ctrheadline, \ctrchapfmt. New macros for floating
figures and tables: \figuref and \tablef. "New" page style \onelineheading --
3 sep.
[23] New defines \rhtypeface (\eightpoint), \tofctypeface (\ninepoint). You
now change fonts (\rm, \it, etc.) in headers and t. of c., and they will
be typeset correctly. -- 2 sep.
[22] See \. (and explanation above) to fix the spacing problem with footnote
numbers. -- 27 aug.
[20] New alignment macros \lftcol, \ctrcol, \rtcol; similar to \lpile,
\cpile, \rpile -- 26 aug.
[19] New \displayypar; like \displaypar, but with smaller width. --24 aug.
[16] New macro \capitalpar, to put a big capital -- 22 aug.
[11] New macros \itemize, \enumerate, and satellites; SCRIBE-type. -- 14 aug.
[7] \count8 counts chapter numbers (so to start at chapter 5: \setcount8 5).
Disappeared \varchap. Also, \consnum has only one parameter.
Variable \chapnum holds current chapter number. You may also have now
chapters numbered in roman numerals (\count8 negative). -- 29 jul.
%∞pagebrk